* Avoid verification error when addurl --verifiable is used
with an url claimed by a special remote other than the web.
* Fix installation on Android.
+ * Allow enableremote of an existing webdav special remote that has
+ read-only access.
+ * git-remote-annex: Use enableremote rather than initremote.
-- Joey Hess <id@joeyh.name> Fri, 03 Jan 2025 14:30:38 -0400
Nothing -> specialRemoteFromUrl sab inittempremote
where
-- Initialize a new special remote with the provided configuration
- -- and name.
+ -- and name. This actually does a Remote.Enable, because the
+ -- special remote has already been initialized somewhere before.
initremote remotename = do
let c = M.insert SpecialRemote.nameField (Proposed remotename) $
M.delete (Accepted "config-uuid") $
specialRemoteConfig cfg
t <- either giveup return (SpecialRemote.findType c)
dummycfg <- liftIO dummyRemoteGitConfig
- (c', u) <- Remote.setup t Remote.Init (Just (specialRemoteUUID cfg))
+ (c', u) <- Remote.setup t (Remote.Enable c) (Just (specialRemoteUUID cfg))
Nothing c dummycfg
`onException` cleanupremote remotename
Logs.Remote.configSet u c'
(c', encsetup) <- encryptionSetup c gc
pc <- either giveup return . parseRemoteConfig c' =<< configParser remote c'
creds <- maybe (getCreds pc gc u) (return . Just) mcreds
- testDav url creds
+ case ss of
+ Init -> testDav url creds
+ _ -> noop
gitConfigSpecialRemote u c' [("webdav", "true")]
c'' <- setRemoteCredPair ss encsetup pc gc (davCreds u) creds
return (c'', u)
[[!comment format=mdwn
username="joey"
- subject="""comment 24"""
- date="2023-06-20T17:25:27Z"
+ subject="""Re: read-only webdav access"""
+ date="2025-01-07T18:51:26Z"
content="""
-httpalso now supports chunking. So I think there's no need to add readonly
-support to webdav, probably. But if you disagree, I do think it would be
-possible to add. Just probably not useful.. after all webdav minus writing
-is little different than http. If you disagree, open a [[todo]].
+Update: Since I posted this comment, enableremote of an existing webdav
+special remote has been made to work even if you cannot write to it. So
+there is no need to use httpalso and no need for a readonly=true.
"""]]
--- /dev/null
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2025-01-07T18:51:26Z"
+ content="""
+I'm not sure I'd trust an old comment of mine to reflect whether httpalso
+supports http authentication. From what I can see, without trying it, it
+will use git-credential to prompt for password when receiving a 401
+response, the same as all other parts of git-annex that download urls
+do nowadays.
+
+Re git-remote-annex, I see your point though. Since it does set up the
+remote when cloning, and webdav remote setup calls involves creating and
+deleting a test file, the user needs write access currently. (Whether that
+test file is worth it doing at all, I'm on the fence about. It seemed like
+a good idea way back when.)
+
+I think that, rather than needing readonly=true, enableremote of a webdav
+special remote should just assume it exists and not test write access to
+it. Then it will work with readonly access. I've implemented that.
+
+And I've made git-remote-annex on git clone do an enableremote, rather than
+an initremote. That should make it work with a readonly webdav special
+remote.
+"""]]